package com.cmnit.analysis

import java.util.Date
import com.cmnit.analysis.application.{GantryLicencePlateApplication, TrafficInsideApplication, TrafficOutsideApplication, VehicleGantryApplication}
import com.cmnit.analysis.util.ServiceUtil
import org.apache.log4j.Logger

object App {
  val logger: Logger = Logger.getLogger(this.getClass)

  def main(args: Array[String]): Unit = {

    // 无参数时，默认全部执行，账期时间为当前时间的前一个小时或前一天
    // 一个参数时，执行指定流程，账期时间为当前时间的前一个小时或前一天
    // 两个参数时，执行指定流程，账期时间为指定日期
    // 时间日期格式：yyyyMMdd/yyyyMMddHH
    var appName = ""
    var acctTime = ""
    if (args.length == 1) {
      appName = args(0)
    }
    if (args.length == 2) {
      appName = args(0)
      acctTime = args(1)
    }

    logger.info("开始加工数据")
    appName match {
      // 门架收费，默认账期为日
      case "VehicleGantry" => VehicleGantryApplication.run(acctTime)
      // 门架牌识，默认账期为日
      case "GantryLicencePlate" => GantryLicencePlateApplication.run(acctTime)
      // 省内出口流量，默认账期为日
      case "TrafficInside" => TrafficInsideApplication.run(acctTime)
      // 省外出口流量，默认账期为日
      case "TrafficOutside" => TrafficOutsideApplication.run(acctTime)

      case _ =>
        logger.error("输入要运行的程序不存在,程序退出")
        System.exit(1)
    }
  }
}
